package com.ledim.chat.model;

import com.letv.core.bean.LetvBaseBean;

/**
 * 消息
 *
 * @param
 */
public interface ISocketMessage {

    /**
     * 获取长度
     *
     * @return
     */
    int getMessageLength();

    /**
     * 字节解析成bean
     *
     * @param bytes
     * @return
     */
    ISocketMessage parse(byte[] bytes);

    /**
     * 获取body
     *
     * @return
     */
    LetvBaseBean getBodyBean();

    /**
     * @return
     */
    ISocketMessage parseHeader(MessageHeader header);

    /**
     * 解析body
     *
     * @param bytes
     * @return
     */
    ISocketMessage parseBody(byte[] bytes);

    /**
     * 内容转字节
     *
     * @return
     */
    byte[] getBytes();
}
